package service

import (
	"context"
	dto "match-server/pvp/dto"
)

// MatchService 匹配服务接口
type MatchService interface {
	// AddMatcher 添加一个匹配请求，返回一个用于接收匹配结果的channel
	// ctx用于控制匹配超时和取消
	AddMatcher(ctx context.Context, p dto.Matcher) (<-chan dto.MatchResult, error)

	// CancelMatch 取消匹配
	CancelMatch(matcherId int) error

	// Start 启动匹配服务，返回错误用于监控服务运行状态
	Start(ctx context.Context) error

	// Stop 优雅关闭匹配服务
	Stop() error
}
